/*
 * Pedido.java
 *
 * Created on 6 de Janeiro de 2008, 20:29
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
package br.uff.javaavancado.modelos;

import java.io.Serializable;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 *
 * @author HelioKann
 */
@NamedQueries({@NamedQuery(name = "Categoria.getPorId",
    query = "select c from Categoria c where c.id = ?"),
    @NamedQuery(name = "Categoria.getCategoriaComProdutos",
    query = "select c from Categoria c left outer join fetch c.produtos where c = ?"),
    @NamedQuery(name = "Categoria.getListaCompleta",
    query = "select c from Categoria c")
})
@Entity
@Table(name = "java_categoria")
@SequenceGenerator(name = "Sequencia", sequenceName = "java_categoria_cod_seq")
public class Categoria implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "Sequencia")
    private Long id;
    private String nome;
    @OneToMany(mappedBy = "categoria",targetEntity=Produto.class)
    private Set<Produto> produtos;

    public Categoria() {
    }

    public Set<Produto> getProdutos() {
        return produtos;
    }

    public void setProdutos(Set<Produto> produtos) {
        this.produtos = produtos;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Override
    public String toString() {
        return nome;
    }
    
    
}
